Crowdsourcing based on base station almanac quality

ABSTRACT

Systems, apparatus and methods for a mobile device and a base station almanac server to throttle crowdsourcing information are presented. The crowdsourcing information is used to improve a location of a base station in a base station almanac. A portion of the base station almanac is provided to a mobile device. For example, the mobile device may identify its current cell and request the base station almanac. The mobile device records crowdsourcing information to identify, for each particular base station of at least one base station, a cellular identifier for the particular base station, optional ranging information between the particular base station and the mobile device, and an independent position of the mobile device. The independent position of the mobile device may be formed from global navigation satellite system (GNSS) or station signals independent of the at least one base station.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a divisional of and claims the benefit of andpriority to U.S. application Ser. No. 13/830,004, filed Mar. 14, 2013,and entitled “Crowdsourcing based on base station almanac quality,”which is incorporated herein by reference in its entirety.

BACKGROUND

I. Field of the Invention

This disclosure relates generally to systems, apparatus and methods fordetermining a base station position, and more particularly todetermining a base station position based on crowdsourcing from mobilestations.

II. Background

Many applications require an estimate of a mobile station's positionestimate. To acquire a position estimate, a mobile station may determineits position relative to three or more base stations assuming a locationof each base station is already known. The base station locations may becommunicated from the base stations to the mobile station.Alternatively, the base station locations may be communicated from abase station almanac (BS almanac) server to the mobile station via abase station. Inaccuracies in the BS almanac directly lead toinaccuracies in a position estimate of a mobile station. Therefore, ameans is needed to refine a known location of a base station in a BSalmanac.

BRIEF SUMMARY

Systems, apparatus and methods for a mobile device and a base stationalmanac server to throttle crowdsourcing information are presented. Thecrowdsourcing information is used to improve a location of a basestation in a base station almanac. A portion of the base station almanacis provided to a mobile device. For example, the mobile device mayidentify its current cell and request the base station almanac. Themobile device records crowdsourcing information to identify, for eachparticular base station of at least one base station, a cellularidentifier for the particular base station, optional ranging informationbetween the particular base station and the mobile device, and anindependent position of the mobile device. The independent position ofthe mobile device may be formed from global navigation satellite system(GNSS) or station signals independent of the at least one base station.

According to some aspects, disclosed is a method in a mobile device forthrottling crowdsourcing data, the method comprising: receiving, from abase station almanac server, a base station almanac that is based on acurrent cell identifier; collecting crowdsourcing information for atleast one base station, collecting comprising, for each particular basestation of the at least one base station: identifying a cellularidentifier for the particular base station; determining a positionestimate of the mobile device that is independent of signals from theparticular base station; and recording crowdsourcing information for theparticular base station, wherein the crowdsourcing informationcomprises: the cellular identifier; and the position estimate of themobile device; and sending, to the base station almanac server based ona crowdsourcing throttle for reporting the crowdsourcing information,the crowdsourcing information.

According to some aspects, disclosed is a method in a base stationalmanac server for throttling crowdsourcing data, the method comprising:receiving a current cell identifier for a mobile device; deriving a basestation almanac that is based on the current cell identifier; sending,to the mobile device, the base station almanac; and receiving, based ona crowdsourcing throttle and, crowdsourcing information comprising, fora particular base station of each of at least one base station: acellular identifier identifying the particular base station; and aposition estimate of the mobile device that is independent of signalsfrom the particular base station.

According to some aspects, disclosed is a mobile device for throttlingcrowdsourcing data, the mobile device comprising: a wireless wide areanetwork (WWAN) transceiver configured to: receive, from a base stationalmanac server, a base station almanac that is based on a current cellidentifier; receive, at a position for each particular base station ofat least one base station, a cellular identifier of the particular basestation; and send, to the base station almanac server and based on acrowdsourcing throttle, crowdsourcing information; a processor coupledto the WWAN transceiver and configured to determine a position estimateof the mobile device corresponding to the position when receiving thecellular identifier for each particular base station of the at least onebase station, wherein the position estimate is independent of signalsfrom the particular base station; wherein the crowdsourcing informationcomprises, for each particular base station of the at least one basestation: the cellular identifier; and the position estimatecorresponding to the cellular identifier.

According to some aspects, disclosed is a base station almanac serverfor throttling crowdsourcing data, the base station almanac servercomprising: a network transceiver configured to: receive, based on acrowdsourcing throttle, crowdsourcing information, wherein thecrowdsourcing information comprises, for each particular base station ofat least one base station: a cellular identifier identifying theparticular base station; and a position estimate of the particularmobile device, corresponding to the cellular identifier, wherein theposition estimate is independent of signals from the particular basestation; and send a base station almanac to the particular mobiledevice; and a processor coupled to the network transceiver andconfigured to: form the base station almanac based on a current cellidentifier; and update a location estimate of a base station based theposition estimate of the particular mobile device.

According to some aspects, disclosed is a mobile device for throttlingcrowdsourcing data, the mobile device comprising: means for receiving,from a base station almanac server, a base station almanac that is basedon a current cell identifier; means for collecting crowdsourcinginformation for at least one base station, collecting comprising, foreach particular base station of the at least one base station: means foridentifying a cellular identifier for the particular base station; meansfor determining a position estimate of the mobile device that isindependent of signals from the particular base station; and means forrecording crowdsourcing information for the particular base station,wherein the crowdsourcing information comprises: the cellularidentifier; and the position estimate of the mobile device; and meansfor sending, to the base station almanac server based on a crowdsourcingthrottle for reporting the crowdsourcing information, the crowdsourcinginformation.

According to some aspects, disclosed is a base station almanac serverfor throttling crowdsourcing data, the base station almanac servercomprising: means for receiving a current cell identifier for a mobiledevice; means for deriving a base station almanac that is based on thecurrent cell identifier; means for sending, to the mobile device, thebase station almanac; and means for receiving, based on a crowdsourcingthrottle and, crowdsourcing information comprising, for a particularbase station of each of the at least one base station: a cellularidentifier identifying the particular base station; and a positionestimate of the mobile device that is independent of signals from theparticular base station.

According to some aspects, disclosed is a non-transitorycomputer-readable storage medium including program code stored thereonfor a mobile device to throttle crowdsourcing data, comprising programcode to: receive, from a base station almanac server, a base stationalmanac that is based on a current cell identifier; collectcrowdsourcing information for at least one base station, the programcode to collect comprising, for each particular base station of the atleast one base station, code to: identify a cellular identifier for theparticular base station; determine a position estimate of the mobiledevice that is independent of signals from the particular base station;and record crowdsourcing information for the particular base station,wherein the crowdsourcing information comprises: the cellularidentifier; and the position estimate of the mobile device; and send, tothe base station almanac server based on a crowdsourcing throttle forreporting the crowdsourcing information, the crowdsourcing information.

According to some aspects, disclosed is a non-transitorycomputer-readable storage medium including program code stored thereonfor a base station almanac server to throttle crowdsourcing data,comprising program code to: receive, from a mobile device, a currentcell identifier; derive a base station almanac that is based on thecurrent cell identifier; send, to the mobile device and from the basestation almanac server, the base station almanac; and receive, based ona crowdsourcing throttle and for at least one base station including aparticular base station, crowdsourcing information at the base stationalmanac server, wherein the crowdsourcing information comprises a recordcomprising: a cellular identifier identifying the particular basestation; and a position estimate of the mobile device that isindependent of signals from the particular base station.

According to some aspects, disclosed is a method in a mobile device forthrottling crowdsourcing data, the method comprising: receiving, from abase station almanac server, a base station almanac that is based on acurrent cell identifier; identifying, for each particular base stationof at least three base stations, a cellular identifier for theparticular base station; computing a first position estimate of themobile device based on locations of the at least three base stations;determining a second position estimate of the mobile device, wherein thesecond position estimate of the mobile device is independent of signalsfrom the at least three base stations; determining that a discrepancyexist from a difference of the first position estimate and the secondposition estimate being greater than a threshold; and sendingcrowdsourcing information for the at least three base stations, based onthe discrepancy, to the base station almanac server; wherein thecrowdsourcing information comprises: the cellular identifier for eachparticular base station of the at least three base stations; and thefirst position estimate and the second position estimate.

It is understood that other aspects will become readily apparent tothose skilled in the art from the following detailed description,wherein it is shown and described various aspects by way ofillustration. The drawings and detailed description are to be regardedas illustrative in nature and not as restrictive.

BRIEF DESCRIPTION OF THE DRAWING

Embodiments of the invention will be described, by way of example only,with reference to the drawings.

FIG. 1 illustrates a group of anonymous clients in both a sparselypopulated area and a densely populated area.

FIG. 2 shows a mobile station obtaining a BS almanac in a conventionalsystem.

FIG. 3 shows a mobile station obtaining a BS almanac with acrowdsourcing throttle, in accordance with some embodiments of thepresent invention.

FIGS. 4-6 illustrate various crowdsourcing throttles, in accordance withsome embodiments of the present invention.

FIGS. 7-11 shown crowdsourcing information, in accordance with someembodiments of the present invention.

FIGS. 12-13 show a system using a threshold, in accordance with someembodiments of the present invention.

FIGS. 14-15 show ranging information between mobile stations and basestations, in accordance with some embodiments of the present invention.

FIG. 16 illustrates a clustering algorithm, in accordance with someembodiments of the present invention.

FIG. 17 shows a method to communicate crowdsourcing information, inaccordance with some embodiments of the present invention.

FIGS. 18-19 illustrate a mobile station and a base station almanacserver, respectively, in accordance with some embodiments of the presentinvention.

DETAILED DESCRIPTION

The detailed description set forth below in connection with the appendeddrawings is intended as a description of various aspects of the presentdisclosure and is not intended to represent the only aspects in whichthe present disclosure may be practiced. Each aspect described in thisdisclosure is provided merely as an example or illustration of thepresent disclosure, and should not necessarily be construed as preferredor advantageous over other aspects. The detailed description includesspecific details for the purpose of providing a thorough understandingof the present disclosure. However, it will be apparent to those skilledin the art that the present disclosure may be practiced without thesespecific details. In some instances, well-known structures and devicesare shown in block diagram form in order to avoid obscuring the conceptsof the present disclosure. Acronyms and other descriptive terminologymay be used merely for convenience and clarity and are not intended tolimit the scope of the disclosure.

Position determination techniques described herein may be implemented inconjunction with various wireless communication networks such as awireless wide area network (WWAN), a wireless local area network (WLAN),a wireless personal area network (WPAN), and so on. The term “network”and “system” are often used interchangeably. A WWAN may be a CodeDivision Multiple Access (CDMA) network, a Time Division Multiple Access(TDMA) network, a Frequency Division Multiple Access (FDMA) network, anOrthogonal Frequency Division Multiple Access (OFDMA) network, aSingle-Carrier Frequency Division Multiple Access (SC-FDMA) network,Long Term Evolution (LTE), and so on. A CDMA network may implement oneor more radio access technologies (RATs) such as cdma2000, Wideband-CDMA(W-CDMA), and so on. Cdma2000 includes IS-95, IS-2000, and IS-856standards. A TDMA network may implement Global System for MobileCommunications (GSM), Digital Advanced Mobile Phone System (D-AMPS), orsome other RAT. GSM and W-CDMA are described in documents from aconsortium named “3rd Generation Partnership Project” (3GPP). Cdma2000is described in documents from a consortium named “3rd GenerationPartnership Project 2” (3GPP2). 3GPP and 3GPP2 documents are publiclyavailable. A WLAN may be an IEEE 802.11x network, and a WPAN may be aBluetooth network, an IEEE 802.15x, or some other type of network. Thetechniques may also be implemented in conjunction with any combinationof WWAN, WLAN and/or WPAN.

A satellite positioning system (SPS) typically includes a system oftransmitters positioned to enable entities to determine their locationon or above the Earth based, at least in part, on signals received fromthe transmitters. Such a transmitter typically transmits a signal markedwith a repeating pseudo-random noise (PN) code of a set number of chipsand may be located on ground based control stations, user equipmentand/or space vehicles. In a particular example, such transmitters may belocated on Earth orbiting satellite vehicles (SVs). For example, a SV ina constellation of Global Navigation Satellite System (GNSS) such asGlobal Positioning System (GPS), Galileo, GLONASS or Compass maytransmit a signal marked with a PN code that is distinguishable from PNcodes transmitted by other SVs in the constellation (e.g., usingdifferent PN codes for each satellite as in GPS or using the same codeon different frequencies as in GLONASS). In accordance with certainaspects, the techniques presented herein are not restricted to globalsystems (e.g., GNSS) for SPS. For example, the techniques providedherein may be applied to or otherwise enabled for use in variousregional systems, such as, e.g., Quasi-Zenith Satellite System (QZSS)over Japan, Indian Regional Navigational Satellite System (IRNSS) overIndia, Beidou over China, etc., and/or various augmentation systems(e.g., an Satellite Based Augmentation System (SBAS)) that may beassociated with or otherwise enabled for use with one or more globaland/or regional navigation satellite systems. By way of example but notlimitation, an SBAS may include an augmentation system(s) that providesintegrity information, differential corrections, etc., such as, e.g.,Wide Area Augmentation System (WAAS), European Geostationary NavigationOverlay Service (EGNOS), Multi-functional Satellite Augmentation System(MSAS), GPS Aided Geo Augmented Navigation or GPS and Geo AugmentedNavigation system (GAGAN), and/or the like. Thus, as used herein an SPSmay include any combination of one or more global and/or regionalnavigation satellite systems and/or augmentation systems, and SPSsignals may include SPS, SPS-like, and/or other signals associated withsuch one or more SPS.

As used herein, a mobile device, sometimes referred to as a mobilestation (MS) or user equipment (UE), such as a cellular phone, mobilephone or other wireless communication device, personal communicationsystem (PCS) device, personal navigation device (PND), PersonalInformation Manager (PIM), Personal Digital Assistant (PDA), laptop orother suitable mobile device which is capable of receiving wirelesscommunication and/or navigation signals. The term “mobile device” isalso intended to include devices which communicate with a personalnavigation device (PND), such as by short-range wireless, infrared,wireline connection, or other connection—regardless of whether satellitesignal reception, assistance data reception, and/or position-relatedprocessing occurs at the device or at the PND. Also, “mobile device” isintended to include all devices, including wireless communicationdevices, computers, laptops, etc. which are capable of communicationwith a server, such as via the Internet, WiFi, or other network, andregardless of whether satellite signal reception, assistance datareception, and/or position-related processing occurs at the device, at aserver, or at another device associated with the network. Any operablecombination of the above are also considered a “mobile device.”

FIG. 1 illustrates a group of anonymous clients in both a sparselypopulated area and a densely populated area. In a densely populatedarea, such as in an urban area, a base station (e.g., BS₁) supports manymobile devices (drawn with an ‘x’ symbol). In a sparsely populated area,such as in a rural area, a base station (e.g., BS₂) supports only a lownumber of mobile devices.

If a base station has an unknown or uncertain location to a base stationalmanac server, ranging information from three mobile devices havingknown locations (e.g., GNSS locations with low uncertainty) may beprovided to the base station almanac server compute a location estimateof the base station. Ranging information from a greater number of mobiledevices may be statically combined to average out uncertainties and moreprecisely determine a location estimate of the base station.

Alternatively, no ranging information is available. Assume a particularbase station has an unknown or uncertain location to a base stationalmanac server. Also assume a large number of records exists where eachrecord identifies the particular base station and a correspondinglocation of a mobile device. Each record is created by a mobile devicedetermining crowdsourcing information, where the crowdsourcinginformation includes a cellular identifier identifying the particularbase station and a position from the mobile device (e.g., GNSS locationswith low uncertainty). The crowdsourcing information does notnecessarily contain any ranging information. The base station almanacserver may determine a location of the particular base station from amean or median of the positions of the various mobile devices. Forexample, suppose a base station almanac server has 100 recent recordsidentifying a particular base station as a serving base station and acorresponding GPS position estimate. The location of the particular basestation may be approximated as the center of the cloud of 100 GPSpositions. For example, the base station almanac server may compute alocation estimate of the base station as a mean or median of thelocations of 100 mobile device positions. Thereby, positioninginformation from a great number of mobile devices may be staticallycombined to average out uncertainties and more precisely determine alocation estimate of the base station.

In turn, the improved location estimate of a particular base station maybe included in future base station almanac responses. A base stationalmanac server maintains and updates a base station almanac containingan identity of each cell and a location estimate (e.g., latitude,longitude and altitude) with a corresponding uncertainty of each cell.

When ranging information is part of crowdsourcing information, eachmobile device participating in crowdsourcing (also referred to asanonymous clients) provides its position (e.g., a GNSS position or otherposition estimate independent of a target base station) and a range tothe target base station. In sparsely populated areas, the base stationalmanac server may receive an adequate number of records containing cellidentification, optional ranging information from a mobile position, anda position estimate of the mobile device. In densely populated areas,however, the base station almanac server may be overwhelmed withduplicate data (records from the same position estimates from differentmobile devices), which taxes the processing power of the base stationalmanac server, unnecessarily occupies channel bandwidth and consumesprocessing power on the mobile device.

FIG. 2 shows a mobile station obtaining a BS almanac in a conventionalsystem. In a conventional system, a mobile device, such as a mobilestation or MS, sends a request for a base station almanac to a basestation almanac server. The request message contains informationidentifying a current cell of the mobile device. The base stationalmanac server receives the request and, based on the current cellidentifier of the mobile device, forms base station almanac informationtailored to the cell identifier. The base station almanac server thensends a response message containing the base station for the currentcell.

FIG. 3 shows a mobile station obtaining a BS almanac with acrowdsourcing throttle, in accordance with some embodiments of thepresent invention. The mobile device (shown as an MS) sends aconventional request for a base station almanac for the current cellfrom a base station almanac server. The base station almanac serverdetermines which part of its entire base station almanac to form, basedon the current cell of the mobile device an abridged base stationalmanac. The base station almanac server sends a response messagecontaining the abridged base station almanac to the mobile device. Theresponse message also contains a crowdsourcing throttle.

A crowdsourcing throttle may be implicit or explicit. When implicit, amobile device does not receive a crowdsourcing throttle as a messagefrom a base station almanac server. Instead, the mobile device has beenconfigured to report back based on conditions of the network, conditionsof the mobile device, conditions of the position estimate, or the like.For example, a mobile device having an unlimited data plan may beconfigured to periodically (e.g., at a defined period or a rate of onceevery week) report back all records of base stations seen by the mobiledevice.

When an explicit crowdsourcing throttle command is communicated from abase station almanac server to a mobile device, the crowdsourcingthrottle tells the mobile device if crowdsourcing is enabled and howand/or when to report back to the base station almanac server with acellular identifier, ranging information and a position of the mobilestation. In some embodiments, the cellular identifier unambiguouslyidentifies a cell. As previously mentioned, a request message includes acell identifier. If the cell identifier represents a cell needing a moreprecise location, the base station almanac server may send acrowdsourcing throttle.

FIGS. 4-6 illustrate various crowdsourcing throttles, in accordance withsome embodiments of the present invention. In FIG. 4, a crowdsourcingthrottle may include a flag to enable and disable crowdsourcing in amobile device. For example, when crowdsourcing is enabled, a mobiledevice may send crowdsourcing information: (1) when available; (2)periodically; or (3) when a block of memory on the mobile device's isfull. When crowdsourcing is disabled, a mobile device may either justdiscard crowdsourcing information or save crowdsourcing information fora later time.

In FIG. 5, a crowdsourcing throttle may include a level that indicates aperiod. For example, a zero value disables crowdsourcing, crowdsourcinginformation is sent every 240 hours for a one value, every 120 hours fora two value, and so on, and every hour for a value of seven. Othervalues and number of levels may indicate different periodical values.

In FIG. 6, a quality of the base station almanac is indicated by alevel. For example, zero indicates a very poor quality, a one indicatesa poor quality, a two indicates an okay or acceptable quality, and athree indicates a good or better quality of the base station almanac.Other gradients and number of levels are possible.

FIGS. 7-11 shown crowdsourcing information, in accordance with someembodiments of the present invention. In FIG. 7, a mobile device sends arequest including collected crowdsourcing information. The collectedcrowdsourcing information may be for a single base station up to allbase stations seen from a mobile device's position. Alternative, thecollected crowdsourcing information may be for multiple positions of themobile device of time. A base station almanac server receives therequest and compiles the crowdsourcing information for use in improvinglocations of one or more base stations recorded in the base stationalmanac. The base station almanac server may respond to the mobiledevice with an acknowledgement (ACK) message. By receiving this ACKmessage, the mobile device knows the base station almanac serverreceived the crowdsourcing message.

In FIG. 8, the mobile device again sends a request message. The requestmessage requests a base station almanac (similar to the request shown inFIG. 3) from the base station almanac server. This request message,however, serves a dual role. That is, the request message combines thebase station almanac requesting function (described above with referenceto FIG. 3) and the crowdsourcing reporting function (described abovewith reference to FIG. 7). As such, the request messing includes a cellidentifier for a new current cell (new current cell identifier) and alsothe crowdsourcing information collected by the mobile device. Inresponse, the base station almanac server determines what base stationalmanac is appropriate for the new current cell and also what kind ofcrowdsourcing throttle is needed for that new current cell. The basestation almanac server includes in a response message both thedetermined base station almanac appropriate for the new current cell andthe crowdsourcing throttle.

In FIG. 9, the crowdsourcing information is illustrated. Thecrowdsourcing information includes record having an identifier of acell, optional ranging information, and the position of the mobiledevice. The crowdsourcing information may include multiple of suchrecords representing two or more base stations that can be seen from acurrent or previous position of the mobile device and/or representingtwo or more base stations that have been seen at different positions ofthe mobile device. The cellular identifier distinguishes one cell fromother cells. The cellular identifier may provide a unique andunambiguous identifier to only one base station. Alternative, thecellular identifier may provide an ambiguous identifier of a basestation.

The cellular identifier may include a Cell ID. The cellular identifiermay also include a local area code (LAC), tracking area code (TAC), asystem identity (SID) and/or a network identity (NID). The cellularidentifier may also include a mobile network code (MNC). The cellularidentifier may also include a mobile country code (MCC). If the cellularidentifier includes both an MNC and an MCC, the combination may berepresented by a public land mobile network (PLMN=MCC+MNC). If thecellular identifier includes both a TAC and a PLMN, the combination maybe represented by a tracking area indicator (TAI=PLMN+TAC).

The ranging information may include signal strength, such as a receivedsignal strength indication (RSSI). The signal strength may be anabsolute value or a relative value, such as a path loss. The signalstrength may be converted from a signal level or power level to adistance (e.g., via a heat map). The ranging information may include atime-of-flight value, such as a relative time value (e.g., one-way time(OWT), round-trip time (RTT)) or an absolute value (e.g., time ofarrival (TOA)). The time-of-flight value may be converted from a time toa distance by multiplying by the speed of light. The ranging informationmay a combination of signal strength(s) and/or time-of-flight value(s).

The position may include a GNSS position (e.g., a GPS position) of themobile device. Alternatively, the position may be formed with ranginginformation to base stations and access points with low locationuncertainty and excluding the base station identified by the cellularidentifier. Alternatively, no ranging information is used and a locationof a base station is determined to be the center of a cluster of mobiledevice positions.

The crowdsourcing information may also include additional informationsuch as a base station's frequency or frequencies used by the identifiedcell, identifiers of its neighbors, a modulation mode or network type, aPN code and/or a frequency hopping pattern. The additional informationmay be used to further identify an ambiguously identified cell.

In FIG. 10, the crowdsourcing throttle is shown to throttle based on atype of client or mobile device. That is, the crowdsourcing throttle mayidentify that a command applies to certain types of mobile devices. Forexample, the crowdsourcing throttle applies to all mobile devices (0),just smart phones (1), just mobile devices with an unlimited data plan(2), or a combination of types of mobile devices.

In FIG. 11, the crowdsourcing throttle is shown to throttle based on atype of base station. That is, the crowdsourcing throttle may inform amobile device to collect crowdsourcing information from a certain sortof base station(s). For example, the crowdsourcing throttle indicatesthat a command to collect crowdsourcing information applies to all basestations (0), just LTE base stations (1), just CDMA base stations (2),just GSM base stations (3), or a combination of types of base stations.

FIGS. 12-13 show a system using a threshold, in accordance with someembodiments of the present invention. In FIG. 12, the crowdsourcingthrottle may be indicated as target threshold of results derived fromranging information and an independently derived position of the mobiledevice. For example, ranging information from three or more basestations indicates a first position of the mobile device. A secondposition of the mobile device is formed from GNSS measurements or basestations that are independent of the cells used for ranging. If adifference between first position and the second position is greaterthan a threshold, the mobile device reports this discrepancy ascrowdsourcing information.

In FIG. 13, a first position of the mobile device is based on ranges tothree or more base stations. The location of the base stations is foundin the base station almanac. A second position of the mobile device iscomputed from a different set of base stations or access points, oralternatively, from GNSS measurements (e.g., GPS measurements). If thedistance between the first position and the second position is greaterthan a threshold, the mobile device sends this information ascrowdsourcing information to a base station almanac server. The basestation almanac server may use this crowdsourcing information todetermine or refine a location of one or more base stations. In someembodiments, data used to compute the first position is independent fromdata used to compute the second position.

FIGS. 14-15 show ranging information between mobile stations and basestations, in accordance with some embodiments of the present invention.In FIG. 14, crowdsourcing information is shown from the point of amobile device. For example, the mobile device, from a single position,may “see” an RF signal from each of three or more base stations (BS₁,BS₂ and BS₃). The mobile device determines range information (range₁,range₂ and range₃) to the three base stations (BS₁, BS₂ and BS₃),respectively. In this case, the mobile device forms three records, onefor each base station, for the crowdsourcing information. From ranginginformation for three base stations, the mobile device may determine afirst position of the mobile device. With more than three base stations,the mobile device may apply an over-determined algorithm to find thefirst position. To determine the second position, the mobile device mayuse GNSS signals (such as from a GPS receiver) or three or moreadditional base stations with lower uncertainty than the first threebase stations (BS₁, BS₂ and BS₃). At this or a later point, the mobiledevice may report the records as crowdsourcing information.Alternatively, the mobile device may only report the records if thediscrepancy between the first position and the second position isgreater than a threshold.

In FIG. 15, crowdsourcing information is shown from the point of a basestation. A base station almanac server accesses one or more records fromrecords of crowdsourcing information. That is, the base station almanacserver determines that the records all apply to the same base station.Ranging information from the mobile devices (MS₁, MS₂ and MS₃)determines a location of the base station. Ranging information from fouror more mobile devices also determines a location of the base stationvia application of an over-determined algorithm. If the location of thebase station is unknown in the base station almanac, the base stationalmanac server may use the location as determined from the ranginginformation. If the location of the base station is known in the basestation almanac, the base station almanac server may use the location asdetermined from the ranging information to refine or adjust the knownlocation of the base station.

FIG. 16 illustrates a clustering algorithm, in accordance with someembodiments of the present invention. Crowdsourcing information includesrecords from a plurality of mobile devices. A large number of recordscontain a cellular identifier of the same target base station andpositions of various mobile devices. In this case, the crowdsourcinginformation does not include ranging information or the ranginginformation is not used. A center of mass, average, average weighted byuncertainty, mean or median is computed from the positions of variousmobile devices. The computed center of mass, or the like, may be used asthe location of the target base station. Alternatively, the computedcenter of mass may be used to adjust or refine a location of the targetbase station as found in a base station almanac.

FIG. 17 shows a method to communicate crowdsourcing information, inaccordance with some embodiments of the present invention. At 310, amobile device receives a crowdsourcing throttling command for reportingcrowdsourcing information. At 320, the mobile device receives a basestation almanac that is based in a current cell from a base stationalmanac server.

At 330, the mobile device collects the crowdsourcing information for atleast one base station as described below in step 332 to 338. At 332,the mobile device identifies a cellular identifier for the particularbase station. At 334, the mobile device measures ranging informationbetween a particular base station and the mobile device. At 336, themobile device determines a GNSS position estimate of the mobile deviceor other position estimate independent from the particular basestation(s). At 338, the mobile device records the crowdsourcinginformation for the particular base station. The crowdsourcinginformation comprising the cellular identifier, the ranging informationand the position estimate of the mobile device.

At 340, the mobile device sends, based on the crowdsourcing throttlingcommand, the crowdsourcing information to the base station almanacserver.

FIGS. 18-19 illustrate a mobile station and a base station almanacserver, respectively, in accordance with some embodiments of the presentinvention. In FIG. 18, the mobile device 400 includes a WWAN transceiver410, an optional GNSS receiver 420, and a processor 430 coupled to theWWAN transceiver 410 and the GNSS receiver 420. The processor 430executes code or instructions to perform functions of a mobile device400 described herein.

In FIG. 19, the base station almanac server 500 includes a networktransceiver 510 for coupling to a mobile device 400. The base stationalmanac server 500 also includes a processor 530 coupled to the networktransceiver 510. The processor 530 executes code or instructions toperform functions of a base station almanac server 500 described herein.

The methodologies described herein may be implemented by various meansdepending upon the application. For example, these methodologies may beimplemented in hardware, firmware, software, or any combination thereof.For a hardware implementation, the processing units may be implementedwithin one or more application specific integrated circuits (ASICs),digital signal processors (DSPs), digital signal processing devices(DSPDs), programmable logic devices (PLDs), field programmable gatearrays (FPGAs), processors, controllers, micro-controllers,microprocessors, electronic devices, other electronic units designed toperform the functions described herein, or a combination thereof.

For a firmware and/or software implementation, the methodologies may beimplemented with modules (e.g., procedures, functions, and so on) thatperform the functions described herein. Any machine-readable mediumtangibly embodying instructions may be used in implementing themethodologies described herein. For example, software codes may bestored in a memory and executed by a processor unit. Memory may beimplemented within the processor unit or external to the processor unit.As used herein the term “memory” refers to any type of long term, shortterm, volatile, nonvolatile, or other memory and is not to be limited toany particular type of memory or number of memories, or type of mediaupon which memory is stored.

If implemented in firmware and/or software, the functions may be storedas one or more instructions or code on a computer-readable medium.Examples include computer-readable media encoded with a data structureand computer-readable media encoded with a computer program.Computer-readable media includes physical computer storage media. Astorage medium may be any available medium that can be accessed by acomputer. By way of example, and not limitation, such computer-readablemedia can comprise RAM, ROM, EEPROM, CD-ROM or other optical diskstorage, magnetic disk storage or other magnetic storage devices, or anyother medium that can be used to store desired program code in the formof instructions or data structures and that can be accessed by acomputer; disk and disc, as used herein, includes compact disc (CD),laser disc, optical disc, digital versatile disc (DVD), floppy disk andblu-ray disc where disks usually reproduce data magnetically, whilediscs reproduce data optically with lasers. Combinations of the aboveshould also be included within the scope of computer-readable media.

In addition to storage on computer readable medium, instructions and/ordata may be provided as signals on transmission media included in acommunication apparatus. For example, a communication apparatus mayinclude a transceiver having signals indicative of instructions anddata. The instructions and data are configured to cause one or moreprocessors to implement the functions outlined in the claims. That is,the communication apparatus includes transmission media with signalsindicative of information to perform disclosed functions. At a firsttime, the transmission media included in the communication apparatus mayinclude a first portion of the information to perform the disclosedfunctions, while at a second time the transmission media included in thecommunication apparatus may include a second portion of the informationto perform the disclosed functions.

The previous description of the disclosed aspects is provided to enableany person skilled in the art to make or use the present disclosure.Various modifications to these aspects will be readily apparent to thoseskilled in the art, and the generic principles defined herein may beapplied to other aspects without departing from the spirit or scope ofthe disclosure.

What is claimed is:
 1. A mobile device for throttling crowdsourcingdata, the mobile device comprising: a wireless wide area network (WWAN)transceiver configured to: receive, from a base station almanac server,a base station almanac that is based on a current cell identifier;receive, at a position for each particular base station of at least onebase station, a cellular identifier of the particular base station; andsend, to the base station almanac server and based on a crowdsourcingthrottle, crowdsourcing information; a processor coupled to the WWANtransceiver and configured to determine a position estimate of themobile device corresponding to the position when receiving the cellularidentifier for each particular base station of the at least one basestation, wherein the position estimate is independent of signals fromthe particular base station; wherein the crowdsourcing informationcomprises, for each particular base station of the at least one basestation: the cellular identifier; and the position estimatecorresponding to the cellular identifier.
 2. The mobile device of claim1, wherein the WWAN transceiver is further configured to receive acrowdsourcing throttling command comprising the crowdsourcing throttle.3. The mobile device of claim 1, wherein the WWAN transceiver is furtherconfigured to: send the current cell identifier and a request for thebase station almanac; receive the base station almanac and acrowdsourcing throttling command comprising the crowdsourcing throttle.4. The mobile device of claim 1, wherein the processor is furtherconfigured to: measure ranging information, for each particular basestation of the at least one base station, between the particular basestation and the mobile device; wherein the crowdsourcing informationfurther comprises the ranging information.
 5. The mobile device of claim1, wherein the position estimate of the mobile device is based on globalnavigation satellite system (GNSS) signals.
 6. The mobile device ofclaim 1, wherein the position estimate of the mobile device is based onbase station signals.